#ifndef __SHAREDMEMORY_H_INCLUDED__
#define __SHAREDMEMORY_H_INCLUDED__

#include <sys/ipc.h>
#include <sys/shm.h>

/** 
 * Clase que reserva un área de memoria compartida.
 * 
 */
class SharedMemory{
private:
	int id;
	int size;
	void* direccion;
public:

	/** 
	 * Crea un área de memoria compartida del tamaño pedido.
	 * 
	 * @param size El tamaño del área de memoria requerida.
	 */
	SharedMemory(int size);

	/** 
	 * Inicializa el área de memoria. Es obligatorio invocar este
	 * método antes de utilizar el área de memoria.
	 * 
	 * @return TRUE si pudo inicializar el área. FALSE si no pudo.
	 */
	bool inicializar();

	void* getDireccion(){ return direccion; }

	~SharedMemory();
};

#endif //__SHAREDMEMORY_H_INCLUDED__
